﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Smart
{
    public partial class frmKullaniciGiris : Form
    {
        bool sipShow = false;
        public frmKullaniciGiris()
        {
            InitializeComponent();
        }

        private bool KullaniciGiris()
        {
            if (txtSifre.Text == ((Kullanici)cmbKullanici.SelectedItem).Sifre)
                return true;
            else
                return false;
        }

        private void toolbarControl1_ItemEntered(object sender, EventArgs e)
        {
            switch (toolbarControl1.SelectedIndex)
            {
                case 0:
                    this.Close();
                    break;
                case 1:
                    if (!sipShow)
                    {
                        sipShow = true;
                        Sip.Show();
                    }
                    else
                    {
                        sipShow = false;
                        Sip.Hide();
                    }
                    break;
                case 2:
                    if (KullaniciGiris())
                    {
                        AyarYukle();
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Şifre Yanlış");
                    }
                    break;
            }
        }

        private void AyarYukle()
        {
            int kullaniciId = ((Kullanici)cmbKullanici.SelectedItem).Id;
            Program.Session[Settings.KullaniciId] = kullaniciId;

            string[] kullanicilar = BackOffice.Get.AyarYukle(kullaniciId);
            foreach (string item in kullanicilar)
            {
                string[] fields = item.Split('Æ');
                Program.Session[fields[0]] = fields[1];
            }
        }


        private void frmKullaniciGiris_Load(object sender, EventArgs e)
        {
            using (Kullanici kul = new Kullanici())
            {
                foreach (string item in kul.BulkImport(0))
                {

                }
            }

            using (Query q = new Query(ProgramTipleri.SqlCe))
            {
                q.Add("SELECT    rec_id,kul_adi,kul_kodu,kul_sifre FROM TBL_KULLANICI ");
                var sonuc = q.ToList(new { id = 0, adi = "", kodu = "", sifre = "" });
                foreach (var item in sonuc)
                {
                    cmbKullanici.Items.Add(new Kullanici() { Id = item.id, Adi = item.adi, Sifre = item.sifre, Kodu = item.kodu });
                }
            }
            if (Program.Session[Settings.KullaniciId] != null)
            {
                for (int i = 0; i < cmbKullanici.Items.Count; i++)
                {
                    if (((Kullanici)cmbKullanici.Items[i]).Id == Cevir.Parse<int>(Program.Session[Settings.KullaniciId]))
                    {
                        cmbKullanici.SelectedIndex = i;
                        break;
                    }
                }
            }
            txtSifre.Focus();
        }

        private void txtSifre_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (KullaniciGiris())
                {
                    AyarYukle();
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Şifre Yanlış");
                }
            }
        }

        private void frmKullaniciGiris_Activated(object sender, EventArgs e)
        {
            txtSifre.Focus();
        }
    }
}